solve the TSP